﻿using System;
namespace Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik {
    
    
    public partial class FyysilineIsik : global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.Isik, global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IFyysilineIsik {
        
        private string @__dokumendiNimetus;
        
        private string @__dokumendiNR;
        
        private System.Int64? @__dokumendiTyypKL;
        
        private string @__eesnimi;
        
        private System.Int64? @__haridusKL;
        
        private string @__hyydNimed;
        
        private System.Int64? @__perekonnaseisKL;
        
        private System.Int64? @__suguKL;
        
        private System.DateTime? @__surmaKP;
        
        private string @__synnikoht;
        
        private string @__teisedNimed;
        
        private string @__emaNimi;
        
        private string @__isaNimi;
        
        private System.Int64? @__emakeelKL;
        
        private System.Int64? @__kodakondsusKL;
        
        private System.Int64? @__suhtluskeelKL;
        
        private System.DateTime? @__synniKP;
        
        private System.Collections.Generic.List<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IAmetikoht> @__tookohtvOppeasutus = new System.Collections.Generic.List<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IAmetikoht>();
        
        private System.Collections.Generic.List<System.Int64?> @__mitmikKodakondsusKL = new System.Collections.Generic.List<System.Int64?>();
        
        private System.Int64? @__kIRArvelolekKL;
        
        private System.DateTime? @__kIRArvelolekAlgusKP;
        
        private System.DateTime? @__kIRArvelolekLoppKP;
        
        public FyysilineIsik() {
        }
        
        /// <summary>
        /// All parameters
        /// </summary>
        public FyysilineIsik(
                    string @dokumendiNimetus, 
                    string @dokumendiNR, 
                    System.Int64? @dokumendiTyypKL, 
                    string @eesnimi, 
                    System.Int64? @haridusKL, 
                    string @hyydNimed, 
                    System.Int64? @perekonnaseisKL, 
                    System.Int64? @suguKL, 
                    System.DateTime? @surmaKP, 
                    string @synnikoht, 
                    string @teisedNimed, 
                    string @emaNimi, 
                    string @isaNimi, 
                    System.Int64? @emakeelKL, 
                    System.Int64? @kodakondsusKL, 
                    System.Int64? @suhtluskeelKL, 
                    System.DateTime? @synniKP, 
                    System.Collections.Generic.List<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IAmetikoht> @tookohtvOppeasutus, 
                    System.Collections.Generic.List<System.Int64?> @mitmikKodakondsusKL, 
                    System.Int64? @kIRArvelolekKL, 
                    System.DateTime? @kIRArvelolekAlgusKP, 
                    System.DateTime? @kIRArvelolekLoppKP, 
                    System.Int64? @objektID, 
                    System.Collections.Generic.List<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IKontakt> @kontaktid, 
                    string @kood, 
                    string @koosnimi, 
                    string @nimi, 
                    System.Int64? @seisundKL, 
                    System.Int64? @versID, 
                    System.Collections.Generic.List<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IKohustis> @kohustised, 
                    System.DateTime? @algusKP, 
                    string @alustaja, 
                    System.DateTime? @loppKP, 
                    System.Collections.Generic.List<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IKonto> @kontod, 
                    System.Int64? @menetlusSubjektiLiikKL, 
                    string @muudeRiikideKoodid, 
                    System.Collections.Generic.List<System.Int64?> @tegevusalaKL, 
                    System.DateTime? @verAlgusKP, 
                    System.DateTime? @verLoppKP, 
                    System.DateTime? @koostamiseKP, 
                    System.Boolean? @ainultPohiandmed, 
                    System.DateTime? @sisestamiseKP, 
                    string @sisestaja, 
                    System.DateTime? @muutmiseKP, 
                    string @muutja, 
                    System.DateTime? @sulgemiseKP, 
                    string @markused, 
                    string @klientsysteemiID, 
                    System.DateTime? @karistusteYlevaatamiseKP, 
                    System.Collections.Generic.List<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IETHoiatus> @hoiatused, 
                    string @eelnevadKoosnimedCSV, 
                    System.Boolean? @onValideeritudAktuaalneVersioon) : 
                base(@objektID, @kontaktid, @kood, @koosnimi, @nimi, @seisundKL, @versID, @kohustised, @algusKP, @alustaja, @loppKP, @kontod, @menetlusSubjektiLiikKL, @muudeRiikideKoodid, @tegevusalaKL, @verAlgusKP, @verLoppKP, @koostamiseKP, @ainultPohiandmed, @sisestamiseKP, @sisestaja, @muutmiseKP, @muutja, @sulgemiseKP, @markused, @klientsysteemiID, @karistusteYlevaatamiseKP, @hoiatused, @eelnevadKoosnimedCSV, @onValideeritudAktuaalneVersioon) {
            this.@__dokumendiNimetus = @dokumendiNimetus;
            this.@__dokumendiNR = @dokumendiNR;
            this.@__dokumendiTyypKL = @dokumendiTyypKL;
            this.@__eesnimi = @eesnimi;
            this.@__haridusKL = @haridusKL;
            this.@__hyydNimed = @hyydNimed;
            this.@__perekonnaseisKL = @perekonnaseisKL;
            this.@__suguKL = @suguKL;
            this.@__surmaKP = @surmaKP;
            this.@__synnikoht = @synnikoht;
            this.@__teisedNimed = @teisedNimed;
            this.@__emaNimi = @emaNimi;
            this.@__isaNimi = @isaNimi;
            this.@__emakeelKL = @emakeelKL;
            this.@__kodakondsusKL = @kodakondsusKL;
            this.@__suhtluskeelKL = @suhtluskeelKL;
            this.@__synniKP = @synniKP;
            this.@__tookohtvOppeasutus = @tookohtvOppeasutus;
            this.@__mitmikKodakondsusKL = @mitmikKodakondsusKL;
            this.@__kIRArvelolekKL = @kIRArvelolekKL;
            this.@__kIRArvelolekAlgusKP = @kIRArvelolekAlgusKP;
            this.@__kIRArvelolekLoppKP = @kIRArvelolekLoppKP;
        }
        
        /// <summary>
        /// Copy Constructor
        /// </summary>
        protected FyysilineIsik(IFyysilineIsik @fyysilineIsik) : 
                base(@fyysilineIsik.ObjektID, @fyysilineIsik.Kontaktid, @fyysilineIsik.Kood, @fyysilineIsik.Koosnimi, @fyysilineIsik.Nimi, @fyysilineIsik.SeisundKL, @fyysilineIsik.VersID, @fyysilineIsik.Kohustised, @fyysilineIsik.AlgusKP, @fyysilineIsik.Alustaja, @fyysilineIsik.LoppKP, @fyysilineIsik.Kontod, @fyysilineIsik.MenetlusSubjektiLiikKL, @fyysilineIsik.MuudeRiikideKoodid, @fyysilineIsik.TegevusalaKL, @fyysilineIsik.VerAlgusKP, @fyysilineIsik.VerLoppKP, @fyysilineIsik.KoostamiseKP, @fyysilineIsik.AinultPohiandmed, @fyysilineIsik.SisestamiseKP, @fyysilineIsik.Sisestaja, @fyysilineIsik.MuutmiseKP, @fyysilineIsik.Muutja, @fyysilineIsik.SulgemiseKP, @fyysilineIsik.Markused, @fyysilineIsik.KlientsysteemiID, @fyysilineIsik.KaristusteYlevaatamiseKP, @fyysilineIsik.Hoiatused, @fyysilineIsik.EelnevadKoosnimedCSV, @fyysilineIsik.OnValideeritudAktuaalneVersioon) {
            this.@__dokumendiNimetus = @fyysilineIsik.DokumendiNimetus;
            this.@__dokumendiNR = @fyysilineIsik.DokumendiNR;
            this.@__dokumendiTyypKL = @fyysilineIsik.DokumendiTyypKL;
            this.@__eesnimi = @fyysilineIsik.Eesnimi;
            this.@__haridusKL = @fyysilineIsik.HaridusKL;
            this.@__hyydNimed = @fyysilineIsik.HyydNimed;
            this.@__perekonnaseisKL = @fyysilineIsik.PerekonnaseisKL;
            this.@__suguKL = @fyysilineIsik.SuguKL;
            this.@__surmaKP = @fyysilineIsik.SurmaKP;
            this.@__synnikoht = @fyysilineIsik.Synnikoht;
            this.@__teisedNimed = @fyysilineIsik.TeisedNimed;
            this.@__emaNimi = @fyysilineIsik.EmaNimi;
            this.@__isaNimi = @fyysilineIsik.IsaNimi;
            this.@__emakeelKL = @fyysilineIsik.EmakeelKL;
            this.@__kodakondsusKL = @fyysilineIsik.KodakondsusKL;
            this.@__suhtluskeelKL = @fyysilineIsik.SuhtluskeelKL;
            this.@__synniKP = @fyysilineIsik.SynniKP;
            this.@__tookohtvOppeasutus = @fyysilineIsik.TookohtvOppeasutus;
            this.@__mitmikKodakondsusKL = @fyysilineIsik.MitmikKodakondsusKL;
            this.@__kIRArvelolekKL = @fyysilineIsik.KIRArvelolekKL;
            this.@__kIRArvelolekAlgusKP = @fyysilineIsik.KIRArvelolekAlgusKP;
            this.@__kIRArvelolekLoppKP = @fyysilineIsik.KIRArvelolekLoppKP;
        }
        
        /// <summary>
        /// Copy Constructor
        /// </summary>
        public FyysilineIsik(IIsik @isik) : 
                base(@isik) {
        }
        
        public virtual string DokumendiNimetus {
            get {
                return this.@__dokumendiNimetus;
            }
            set {
                this.@__dokumendiNimetus = value;
            }
        }
        
        public virtual string DokumendiNR {
            get {
                return this.@__dokumendiNR;
            }
            set {
                this.@__dokumendiNR = value;
            }
        }
        
        public virtual System.Int64? DokumendiTyypKL {
            get {
                return this.@__dokumendiTyypKL;
            }
            set {
                this.@__dokumendiTyypKL = value;
            }
        }
        
        public virtual string Eesnimi {
            get {
                return this.@__eesnimi;
            }
            set {
                this.@__eesnimi = value;
            }
        }
        
        public virtual System.Int64? HaridusKL {
            get {
                return this.@__haridusKL;
            }
            set {
                this.@__haridusKL = value;
            }
        }
        
        public virtual string HyydNimed {
            get {
                return this.@__hyydNimed;
            }
            set {
                this.@__hyydNimed = value;
            }
        }
        
        public virtual System.Int64? PerekonnaseisKL {
            get {
                return this.@__perekonnaseisKL;
            }
            set {
                this.@__perekonnaseisKL = value;
            }
        }
        
        public virtual System.Int64? SuguKL {
            get {
                return this.@__suguKL;
            }
            set {
                this.@__suguKL = value;
            }
        }
        
        public virtual System.DateTime? SurmaKP {
            get {
                return this.@__surmaKP;
            }
            set {
                this.@__surmaKP = value;
            }
        }
        
        public virtual string Synnikoht {
            get {
                return this.@__synnikoht;
            }
            set {
                this.@__synnikoht = value;
            }
        }
        
        public virtual string TeisedNimed {
            get {
                return this.@__teisedNimed;
            }
            set {
                this.@__teisedNimed = value;
            }
        }
        
        public virtual string EmaNimi {
            get {
                return this.@__emaNimi;
            }
            set {
                this.@__emaNimi = value;
            }
        }
        
        public virtual string IsaNimi {
            get {
                return this.@__isaNimi;
            }
            set {
                this.@__isaNimi = value;
            }
        }
        
        public virtual System.Int64? EmakeelKL {
            get {
                return this.@__emakeelKL;
            }
            set {
                this.@__emakeelKL = value;
            }
        }
        
        public virtual System.Int64? KodakondsusKL {
            get {
                return this.@__kodakondsusKL;
            }
            set {
                this.@__kodakondsusKL = value;
            }
        }
        
        public virtual System.Int64? SuhtluskeelKL {
            get {
                return this.@__suhtluskeelKL;
            }
            set {
                this.@__suhtluskeelKL = value;
            }
        }
        
        public virtual System.DateTime? SynniKP {
            get {
                return this.@__synniKP;
            }
            set {
                this.@__synniKP = value;
            }
        }
        
        public virtual System.Collections.Generic.List<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IAmetikoht> TookohtvOppeasutus {
            get {
                return this.@__tookohtvOppeasutus;
            }
            set {
                this.@__tookohtvOppeasutus = value;
            }
        }
        
        public virtual System.Collections.Generic.List<System.Int64?> MitmikKodakondsusKL {
            get {
                return this.@__mitmikKodakondsusKL;
            }
            set {
                this.@__mitmikKodakondsusKL = value;
            }
        }
        
        public virtual System.Int64? KIRArvelolekKL {
            get {
                return this.@__kIRArvelolekKL;
            }
            set {
                this.@__kIRArvelolekKL = value;
            }
        }
        
        public virtual System.DateTime? KIRArvelolekAlgusKP {
            get {
                return this.@__kIRArvelolekAlgusKP;
            }
            set {
                this.@__kIRArvelolekAlgusKP = value;
            }
        }
        
        public virtual System.DateTime? KIRArvelolekLoppKP {
            get {
                return this.@__kIRArvelolekLoppKP;
            }
            set {
                this.@__kIRArvelolekLoppKP = value;
            }
        }
    }
}
